using UnityEngine;

public class AutoDestroy : MonoBehaviour
{
    public float lifeTime = 60f; // 存活时间，以秒为单位
    private GameController gameController; // 引用 GameController 脚本
    public AudioSource audioSource; // AudioSource 组件
    public AudioClip audioClip; // 添加 AudioClip 字段

    void Start()
    {
        gameController = GameObject.FindObjectOfType<GameController>(); // 获取 GameController 实例
        audioSource = gameObject.AddComponent<AudioSource>(); // 添加 AudioSource 组件
        audioSource.clip = audioClip; // 设置音频剪辑
        audioSource.spatialBlend = 1.0f; // 启用 3D 音频
        audioSource.maxDistance = 20.0f; // 设置音频的最大传播距离
        audioSource.minDistance = 1.0f; // 设置音频的最小传播距离
        audioSource.rolloffMode = AudioRolloffMode.Linear; // 设置音频衰减模式
        audioSource.loop = true; // 如果希望音频循环播放，请设置为 true
        audioSource.Play(); // 播放音频

        Invoke("DestroySelf", lifeTime);
    }

    private void DestroySelf()
    {
        // 从游戏对象名字中解析出用户名
        string[] nameParts = gameObject.name.Split('_');
        if (nameParts.Length == 2)
        {
            string usernameToRemove = nameParts[1];
            gameController.RemoveEnemyFromList(usernameToRemove); // 在销毁之前从列表中移除
        }

        // 销毁 AudioSource 组件
        Destroy(audioSource);

        Destroy(gameObject);
    }
}
